﻿Public Class ucEstoquePesquisa

#Region "Eventos públicos acessados pelo formulário de cadastro"
    Public Event Incluir()
    Public Event Sair()
    Public Event Visualizar(ByVal Produto As Model.Produto)
#End Region

#Region "Metodos privados do UC"
    Private Sub Pesquisa()
        Dim ctrl As New Control.Estoque

        bsEstoque.DataSource = ctrl.ListaEstoqueProduto(txtProdutoNome.Text)
        dgvEstoque.DataSource = bsEstoque


    End Sub

    Private Sub Visualiza()
        If CType(bsEstoque.Current, Model.Estoque) IsNot Nothing Then
            Dim Estoque As Model.Estoque
            Dim Produto As New Model.Produto

            Estoque = CType(bsEstoque.Current, Model.Estoque)

            Produto.cd_produto = Estoque.cd_produto

            RaiseEvent Visualizar(Produto)
        End If
    End Sub

    Private Sub CarregaGrades()
        If bsEstoque.Current IsNot Nothing Then
            Dim ctrl As New Control.Estoque
            Dim cd_produto As Integer
            Dim lista As Object

            lista = bsEstoque.Current

            cd_produto = CType(lista, Integer)

            bsLocal.DataSource = ctrl.ListaEstoqueProdutoLocal(cd_produto)
            dgvLocal.DataSource = bsLocal

        End If
    End Sub

#End Region


#Region "Eventos privados dos objetos visuais"

    Private Sub btnIncluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncluir.Click
        RaiseEvent Incluir()
    End Sub

    Private Sub btnVisualizar_Click(sender As Object, e As EventArgs) Handles btnVisualizar.Click
        Visualiza()
    End Sub

    Private Sub btnPesquisar_Click(sender As Object, e As EventArgs) Handles btnPesquisar.Click
        Pesquisa()
    End Sub

    Private Sub dgvEstoque_Click(sender As Object, e As EventArgs) Handles dgvEstoque.Click
        'CarregaGrades()
    End Sub

    Private Sub btnSair_Click(sender As Object, e As EventArgs) Handles btnSair.Click
        RaiseEvent Sair()
    End Sub

    Private Sub dvgEstoque_KeyDown(sender As Object, e As KeyEventArgs) Handles dgvEstoque.KeyDown
        Visualiza()
    End Sub

    Private Sub dvgEstoque_DoubleClick(sender As Object, e As EventArgs) Handles dgvEstoque.DoubleClick
        Visualiza()
    End Sub

#End Region

End Class
